/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Controlador;

import Modelo.ENT_Trabajador;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Isaac Paliza <anndysaac@hotmail.com>
 */
public class CTRL_AdministrarAsistencias {

    private static final ConnectionJDBC connectionJDBC = new ConnectionJDBC();
    private static final Statement statement = connectionJDBC.createStatement();
    public static String Mensaje;
    
    public static List CargarListaAsistenciaTrabajadores(String idFeria) throws SQLException {
        ArrayList<ENT_Trabajador> ListaATrabajadores = new ArrayList();
        String sql = "SELECT T.idTrabajador, T.Nombre, T.Apellidos "
                + "FROM (t_trabajador_has_t_feria AS X "
                + "INNER JOIN t_trabajador AS T "
                + "ON X.idTrabajador = T.idTrabajador) "
                + "INNER JOIN t_feria AS F "
                + "ON X.idFeria = F.idFeria "
                + "WHERE F.idFeria ="+idFeria+"  AND T.idTipoTrabajador = 1 ";
        ResultSet recordingResults
                = ConnectionJDBC.executeQuery(statement, sql);
        while (recordingResults.next()) {
            String idTrabajadorAux = recordingResults.getString(1);
            if (recordingResults.wasNull()) {
                idTrabajadorAux = "";
            }
            String NombreAux = recordingResults.getString(2);
            if (recordingResults.wasNull()) {
                NombreAux = "";
            }
            String ApellidosAux = recordingResults.getString(3);
            if (recordingResults.wasNull()) {
                ApellidosAux = "";
            }
            ListaATrabajadores.add(new ENT_Trabajador(idTrabajadorAux, NombreAux, ApellidosAux));
        }
        return ListaATrabajadores;
    }

    public static List CargarListaADetalle(String idTrabajador) throws SQLException {
        ArrayList<ENT_Trabajador> ListaATrabajadores = new ArrayList();
        String sql = "SELECT A.Fecha, F.idFeria, F.nombre, A.Situacion "
                + "FROM (t_trabajador_has_t_feria AS X "
                + "INNER JOIN t_asistencia AS A "
                + "ON X.idTrabajador = A.idTrabajador) "
                + "INNER JOIN t_feria AS F "
                + "ON X.idFeria = F.idFeria "
                + "WHERE A.idTrabajador ="+idTrabajador;
        ResultSet recordingResults
                = ConnectionJDBC.executeQuery(statement, sql);
        while (recordingResults.next()) {
            String FechaAux = recordingResults.getString(1);
            if (recordingResults.wasNull()) {
                FechaAux = "";
            }
            String idFeriaAux = recordingResults.getString(2);
            if (recordingResults.wasNull()) {
                idFeriaAux = "";
            }
            String nombreAux = recordingResults.getString(3);
            if (recordingResults.wasNull()) {
                nombreAux = "";
            }
            String SituacionAux = recordingResults.getString(4);
            if (recordingResults.wasNull()) {
                SituacionAux = "";
            }
            ListaATrabajadores.add(new ENT_Trabajador(FechaAux, idFeriaAux, nombreAux, SituacionAux));
        }
        return ListaATrabajadores;
    }
    public static List CargarListaDTrabajador(String idTrabajador) throws SQLException {
        ArrayList<ENT_Trabajador> ListaATrabajadores = new ArrayList();
        String sql = "SELECT P.nombre, T.nombre, T.apellidos, T.docIdent, T.direccion, T.celular, T.correoE, T.nacionalidad "
                + "FROM (t_trabajador AS T "
                + "INNER JOIN t_tipotrabajador AS P "
                + "ON T.idTrabajador = P.idTrabajador) "
                + "WHERE T.idTrabajador ="+idTrabajador;
        ResultSet recordingResults
                = ConnectionJDBC.executeQuery(statement, sql);
        while (recordingResults.next()) {
            String FechaAux = recordingResults.getString(1);
            if (recordingResults.wasNull()) {
                FechaAux = "";
            }
            String idFeriaAux = recordingResults.getString(2);
            if (recordingResults.wasNull()) {
                idFeriaAux = "";
            }
            String nombreAux = recordingResults.getString(3);
            if (recordingResults.wasNull()) {
                nombreAux = "";
            }
            String SituacionAux = recordingResults.getString(4);
            if (recordingResults.wasNull()) {
                SituacionAux = "";
            }
            ListaATrabajadores.add(new ENT_Trabajador(FechaAux, idFeriaAux, nombreAux, SituacionAux));
        }
        return ListaATrabajadores;
    }

    public static List BuscarPersonalCodigo(String idTrabajador) throws SQLException {
        ArrayList<ENT_Trabajador> ListaATrabajadores = new ArrayList();
        String sql = "SELECT T.idTrabajador, T.Nombre, T.Apellidos "
                + "FROM (t_trabajador_has_t_feria AS X "
                + "INNER JOIN t_trabajador AS T "
                + "ON X.idTrabajador = T.idTrabajador) "
                + "INNER JOIN t_feria AS F "
                + "ON X.idFeria = F.idFeria "
                + "WHERE T.idTrabajador ="+idTrabajador+"  AND T.idTipoTrabajador = 1 ";
        ResultSet recordingResults
                = ConnectionJDBC.executeQuery(statement, sql);
        while (recordingResults.next()) {
            String idTrabajadorAux = recordingResults.getString(1);
            if (recordingResults.wasNull()) {
                idTrabajadorAux = "";
            }
            String NombreAux = recordingResults.getString(2);
            if (recordingResults.wasNull()) {
                NombreAux = "";
            }
            String ApellidosAux = recordingResults.getString(3);
            if (recordingResults.wasNull()) {
                ApellidosAux = "";
            }
            ListaATrabajadores.add(new ENT_Trabajador(idTrabajadorAux, NombreAux, ApellidosAux));
        }
        return ListaATrabajadores;
    }

    public static List BuscarPersonalFeria(String idFeria) throws SQLException {
        ArrayList<ENT_Trabajador> ListaATrabajadores = new ArrayList();
        String sql = "SELECT T.idTrabajador, T.Nombre, T.Apellidos "
                + "FROM (t_trabajador_has_t_feria AS X "
                + "INNER JOIN t_trabajador AS T "
                + "ON X.idTrabajador = T.idTrabajador) "
                + "INNER JOIN t_feria AS F "
                + "ON X.idFeria = F.idFeria "
                + "WHERE F.idFeria ="+idFeria+"  AND T.idTipoTrabajador = 1 ";
        ResultSet recordingResults
                = ConnectionJDBC.executeQuery(statement, sql);
        while (recordingResults.next()) {
            String idTrabajadorAux = recordingResults.getString(1);
            if (recordingResults.wasNull()) {
                idTrabajadorAux = "";
            }
            String NombreAux = recordingResults.getString(2);
            if (recordingResults.wasNull()) {
                NombreAux = "";
            }
            String ApellidosAux = recordingResults.getString(3);
            if (recordingResults.wasNull()) {
                ApellidosAux = "";
            }
            ListaATrabajadores.add(new ENT_Trabajador(idTrabajadorAux, NombreAux, ApellidosAux));
        }
        return ListaATrabajadores;
    }
    
}
